System and method for on-demand recording

ABSTRACT

Disclosed is a system and method for on-demand recording of telephone, computer, or video signals. Once a connection is established, the communication signals are sent through an intermediary device, which duplicates the signals. The signals are then stored in memory until a triggering event occurs during the connection. If the triggering event occurs, then the signals in memory are stored for playback. If the triggering event does not occur prior to the termination of the connection, the signals in memory are erased.

RELATED PROVISIONAL PATENT APPLICATION

This application is a continuation of U.S. patent application Ser. No. 10/146,168, filed May 15, 2002, which claims priority to U.S. Provisional Patent Application Ser. No. 60/291,878, filed May 18, 2001.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a recording device for recording a stream of analog or digital data.

2. Description of the Prior Art

In the current state of the industry, in order to record the contents of a telephone call, computer transmission, television program, or any form or type of analog or digital data transmission, there are two basic methods. The first method is “logging,” which consists of recording every transmission, from initiation until termination, regardless of the content or characteristics of the transmission. Because logging is independent of the contents and characteristics of the transmission, if a specific transmission is to be reviewed, it becomes necessary to record every transmission. Recording every transmission, however, requires a significant amount of storage space. Further, because of the number of transmissions recorded, it is difficult and time-consuming to locate a specific transmission.

The second method of recording a transmission is “event driven” recording, which records a transmission upon the occurrence of a certain condition or event. In some instances, the recording condition may be the start of the transmission (which is, in effect, the logging method), while in other instances the event will occur during the transmission (such as when a user presses a “record” button during the transmission). Other events may be time-based, such as when recording begins and ends at a specific times. One difficulty of an event driven recording system is properly defining the event that initiates recording. An overly broad event may record too many transmissions, while too specific of an event may not record enough. Another disadvantage of event driven recording is that the event may not occur, or may occur at the wrong time, resulting in not all of the content of the transmission being recorded. Yet another disadvantage is that if the event cannot (or does not) occur until after the initiation of transmission, then the transmission that occurs prior to the event is not recorded. Further, for communications via computer instant messenging, a similar disadvantage occurs when the content of the conversation may “scroll off” the screen before the user can save the earlier portions of the conversation.

SUMMARY OF THE INVENTION

The present invention provides a new and unique system and method for on-demand recording of analog and digital information. In one embodiment, a connection is established on a communication device with an intermediary device. The information transmitted via the connection is dynamically stored. If a triggering event occurs during the connection, the information of the entire connection is saved at the conclusion of the connection, thus allowing the information to be replayed on-demand.

In another embodiment, a telephone call is established on a telephone with a PBX including a plurality of line cards. The voice information of the telephone call is duplicated dynamically at one of the line cards. The voice information can then be digitized and packetized. The voice information is output to a server connected to the PBX. During the telephone call a triggering event is activated, and the voice information of the entire telephone call is saved on the server at the conclusion of the telephone call, thus allowing the information to be replayed on-demand.

In a further embodiment, a computer data connection is established on a computer with a network device. The computer data is duplicated dynamically by the network device and packetized. The computer data is output to a server connected to the network device. During the computer data connection a triggering event is activated, and the computer data of the entire connection is saved on the server at the conclusion of the connection, thus allowing the computer data to be replayed on-demand.

In yet another embodiment, a television transmission is established on a display device with a video signal device. The television program is duplicated dynamically by the video signal device. The television program can then be digitized and packetized. The television program is output to a server connected to the video signal device. During the television transmission a triggering event is activated, and the television program of the entire television transmission is saved on the server at the conclusion of the television transmission, thus allowing the information to be replayed on-demand.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an embodiment of the invention.

FIG. 2 is a flowchart illustrating the operation of an embodiment of the invention.

FIG. 3 is an illustration of a voice implementation of the invention.

FIG. 4 is an illustration of a line card, such as can be used in the voice implementation of FIG. 3.

FIG. 5 is a flowchart illustrating the operation of the voice implementation.

FIG. 6 is an illustration of another embodiment of the invention implemented in a computer network.

FIG. 7 is a flowchart illustrating the operation of the computer network implementation of FIG. 6.

FIG. 8 is an illustration of a television network implementation of the invention.

FIG. 9 is a flowchart illustrating the operation of the television network implementation of FIG. 8.

DETAILED DESCRIPTION

The following disclosure provides many different embodiments, or examples, for implementing different features of an on-demand recording system. Specific examples of components, processes, and implementations are described to help clarify the invention. These are, of course, merely examples and are not intended to limit the invention from that described in the claims.

Referring to FIG. 1, one embodiment 10 of an on-demand recording system includes an intermediary device 12 connected to a server 20 via a network 22. The intermediary device 12 includes a memory buffer 14, such as RAM or a hard drive, a processor 16 for converting analog signals into digital signals, and a processor 18 for placing data into packets. While processor 16 and processor 18 are depicted as separate processors, it is contemplated that a single processing system, composed of one or more processors in conjunction with firmware or software, could provide equivalent functionality. The server 20 includes a memory buffer 24, such as random access memory (RAM) or a hard drive, a storage device 26, such as a compact disk (CD-ROM) drive, floppy drive, or hard drive, and a device 28 for receiving a save initiation request. The intermediary device 12 is connected to one or more communication devices 30 via a network 32. Communication devices 30 may be capable of transmitting or receiving analog or digital signals via the network 32. Also connected to network 22 are one or more playback devices 36, such as computers, dumb terminals, televisions, telephones, or other communication devices. Network 22 and network 32 may be any type of wired or wireless system for transmission of signals, including, a plain old telephone switch (POTS) network, computer packet network, or television broadcast system.

Connected to at least one of the communication devices 30 is a save initiator 34, which allows a user of the on-demand recording system 10 to initiate a save request. While depicted in FIG. 1 as being connected to one of the communication devices 30, the save initiator 34 may instead (or in addition) be connected to any of the other components or may be a stand-alone component connected to network 22 or network 32, thus allowing the initiation of the save request by someone other than a user of the communication devices 30. Further, the save initiator 34 may be a touch pad, button, icon on a display screen, or any means or physical device to generate a save request signal.

Referring now to FIG. 2, in one embodiment, the on-demand recording system 10 may perform an on-demand recording method 200. At step 202, a connection is established between two communication devices (e.g., the communication devices. 30 of FIG. 1 or an external communication device that is not part of the on-demand recording system). Examples of the connection include a telephone call, a data transmission between computers, a reception of a television signal, or any connection involving the transmission of information or data. In the present example, the connection is made through the intermediary device 12 of FIG. 1. At step 204, once the connection is established, the intermediary device transmits the information to and from the communication devices. At step 206, the information is dynamically duplicated into the memory buffer 14 as the information is communicated through the connection.

In one embodiment, the duplicated information is digitized at step 208 by the processor 16 (if not already in digital form). The digitized information can also be placed into packets. It is understood that in some embodiments, the step of digitizing the information could occur prior to duplication and packetization. At step 210, the packets are then provided over the network 22 and received by the server 20. At step 212, the server 20 extracts (e.g., de-packetizes) the digitized information from the packets and stores the extracted information in the memory buffer 24. While packets are used in the preferred embodiment, other forms of data transfer are commonly used by those skilled in the art, including, for example, frames, raw data, or tokens.

At any time during the connection, up until the connection is terminated, a user of the on-demand recording system 10 may request that the information of the entire connection be saved for later retrieval by initiating a save request with the save initiator 34 (a triggering event), such as at step 214. It should be noted, however, that the user of the on-demand system 10 does not necessarily have to be a user of a communication device 30. If a save request signal is initiated at step 214, execution proceeds to step 216 where the save initiator 34 transmits a save request signal for receipt by the receiver 28. At step 218, the connection is terminated (in some embodiments), and at step 220, the contents of the memory buffer 24 on the server 20 is copied onto the storage device 26. At step 222, the saved information of the entire connection on storage device 26 is made available for playback via the playback device 36. In this manner, regardless of when the save request is initiated during the connection, the entire connection is available for playback.

In the present embodiment, if the connection terminates without a save request signal, such as at step 224, execution proceeds to step 226, where the contents of the memory buffer 24 on the server 20 is erased.

Referring now to FIG. 3, another embodiment of an on-demand recording system for use with voice communications is designated with the reference numeral 38. The on-demand system 38 utilizes a switch 40, which includes a series of line cards 42. The switch 40 is connected to a server 44 via a network 46. The server 44 includes a memory buffer 48, storage device 50, and a device 52 for receiving a save initiation request. The line cards 42 are connected to communication devices 54 via a network 58. It is understood that communication device 54, such as a telephone or any telephony device, may be capable of transmitting analog or digital signals, and that switch 40 may be any type of switch, such as an exchanger switch, telephone switch, or a private branch exchange (PBX). Any number of telephones 54 may be connected to any number of line cards 42. Also connected to the network 46 are one or more playback devices 60 for playing back recorded communications.

In the present embodiment, a save initiator 56 is connected to a single telephone 54. While depicted in FIG. 3 as being connected to a telephone 54, the save initiator may instead (or in addition) be connected to any of the other components or may be a stand-alone component connected to network 46 or network 58, thus allowing the initiation of the save request by someone other than a user of the telephone 54. Further, the save initiator 56 may be a touch pad, button, icon on a display screen, or any means or physical device to generate a save request signal.

Referring to FIG. 4, for the sake of example, each of the line cards 42 is constructed similar to a line card 42 a. The line card 42 a includes a plurality of conventional switching components 62 and a processor 64 that is capable of digitizing, duplicating, and/or packetizing information for transmission. The line card 42 a also includes a data port 66 for transferring information onto either network 58 or network 46 or both. The processor 64 may be connected to a power supply (not shown) of the line card 42 a. The line card will also include a memory 68 for storing signals that are switched through the line card.

Referring now to FIG. 5, in one embodiment, the on-demand recording system 38 may perform an on-demand recording method 500. At step 502, a connection is established between two telephones (e.g., the telephones 54 of FIG. 3, or any telephony device or an external communication device that is not part of the on-demand recording system). In the present example, the connection is a telephone call transmitting voice information. At step 504, the connection is sent through a line card 42 a in the PBX 40 and the line card 42 a will transmit the voice communication to and from the telephones 54. At step 506, the processor 64 will dynamically duplicate the communications into memory 68 as the voice communication is transmitted via the telephone call. At step 508, the duplicated communications, if not already in digital form, are digitized by the processor 64, and then the digitized communications will be placed into packets. It is understood that digitizing the communications could occur prior to duplication and packetization.

At step 510, the packets are output over the network 46 and received by the server 44. At step 512, the server 44 will extract (e.g., de-packetize) the digitized communications from the packets and store the communications in a memory buffer 48. While packets are used in the preferred embodiment, other forms of data transfer are commonly used by those skilled in the art, including, for example, frames, raw data, or tokens.

At any time during the connection, up until the connection is terminated, the user of the voice implementation of the on-demand recording system 38 may request that the information of the entire connection be saved for later retrieval by initiating a save request (a triggering event), such as at step 514. It should be noted, however, that the user of the on-demand system does not necessarily have to be a user of a telephone 54. If a save request signal is initiated at step 514, execution proceeds to step 516, where the save initiator 56 will transmit a save request signal, which will be received by the receiver 52. At step 518, the telephone call is terminated and execution continues to step 520, where, the memory buffer 48 on the server 44 is copied onto the storage device 50. At step 522, the entire saved communication is available for playback via a playback device 60. In this manner, regardless of when the save request is initiated during the connection, the entire communication of the connection is available for playback.

If the telephone call terminates without a save request signal, such as at step 524, execution proceeds to step 526, where the memory buffer 48 on the server 44 is erased.

Referring now to FIG. 6, an embodiment of an on-demand recording system for use with computer communications is designated with the reference numeral 69. A network device 70 is connected to a server 76 via a network 78. The network device 70 includes a memory buffer 72 and a processor 74 for placing data into packets. The server 76 includes a memory buffer 80, a storage device 82, and a device 84 for receiving a save initiation request. The network device 70 is also connected to computers 86 via a network 90, and one or more playback devices 92 are connected to the server 76 by network 78.

Network 78 and network 90 may be capable of transmitting analog or digital signals, and may be any type of computer or telecommunication network. The network device 70 may be a router, hub, personal computer, server, gateway, bridge, or any device capable of facilitating network communications, and any number of computers 86 may be connected to any number of network devices 70.

The computers 86 may be personal computers, personal digital assistants, or any device capable of receiving and/or transmitting signals. The computers 86 may also be running voice over IP software or software that allows computer messenging communications, such as provided by America Online's Instant Messenger, Yahoo! Messenger, or MSN Messenger. A save initiator 88 is connected to a computer 86. While depicted in FIG. 6 as being connected to one of the computers 86, the save initiator 88 may instead (or in addition) be connected to any of the other components or may be a stand-alone component connected to network 78 or 90, thus allowing the initiation of the save request by someone other than a user of a computer 86. It is further understood that while network 78 and network 90 are depicted as distinct networks, that network 78 and network 90 could be the same network.

Referring now to FIG. 7, in one embodiment, the on-demand recording system 69 may perform an on-demand recording method 700. At step 702, a connection is established between two computers (e.g., the computers 86 of FIG. 6 or an external communication device that is not part of the on-demand recording system). Examples of the connection include a telephone call, a data transmission between computers, a reception of a television signal, or any connection involving the transmission of information or data. In the present example, the data is sent through the network device 70 of FIG. 1. At step 704, once the connection is established, the network device transfers information to and from the computers. At step 706, the data is dynamically duplicated into memory 72 as the telephone call is communicated through the connection.

At step 708, the duplicated data is placed into packets for transmission across a packet network. At step 710, the packets are output over the network 78 to the server 76. At step 712, the server 76 will extract (e.g., de-packetize) the data from the packets and store the data in the memory buffer 80. While packets are used in the preferred embodiment, other forms of data transfer are commonly used by those skilled in the art, including, for example, frames, raw data, or tokens.

At any time during the connection, up until the connection is terminated, the user of the on-demand recording system 69 may request that the data be saved for later retrieval (a triggering event), such as at step 714. It should be noted, however, that the user of the on-demand recording system 69 does not necessarily have to be a user of a computer 86. If a save request signal is initiated at step 714, execution proceeds to step 716, where the save initiator 88 will transmit a save request signal, which will be received by the receiver 84. At step 718, the connection is terminated, and execution continues to step 720, where the memory buffer 80 on the server 76 is copied onto the storage device 82. At step 722, the entire saved communication on storage device 82 is available for playback via a playback device 92. In this manner, regardless of when the save request is initiated during the connection, the entire communication is available for playback.

If the connection terminates without a save request signal being received at the receiver 84, such as at step 724, execution proceeds to step 726, where the memory buffer 80 on the server 76 is erased.

Referring now to FIG. 8, an embodiment of an on-demand recording system for use with television programs is designated by reference numeral 94. A video signal device 96 for receiving video signals is connected to a server 104 via a network 106. The video signal device includes a memory buffer 98, a processor 100 for digitizing video signals, and a processor 102 for packetizing video signals. While processor 100 and processor 102 are depicted as separate processors, it is contemplated that a single processing system, composed of one or more processors in conjunction with firmware or software, could provide equivalent functionality. The video signal device 96 may be a computer, storage device, tuner, or any device capable of receiving video signals, including TiVo, Inc.'s digital video recorder or Microsoft Corporation's ULtimateTV digital video recorder.

The server 104 includes a memory buffer 108, a storage device 110, and a receiver 112 for receiving save request signals, and one or more playback devices 120 are connected to server 104 by network 106. Network 106 and network 118 may be capable of transmitting analog or digital signals, and may be any type of computer, telecommunication, or television transmission network, whether cable, broadcast, or satellite. It is also understood that while network 106 and network 118 are depicted as distinct networks, that network 106 and network 118 could be the same network.

At least one display device 114 is connected to the video signal device 96 via a network 118, and any number of display devices 114 may be connected to any number of video signal devices 96. The display devices 114 may be computers, personal digital assistants, televisions, or any device capable of receiving and/or transmitting signals. Connected to at least one display device 114 is a save initiator 116 for initiating a save request signal. While depicted in FIG. 8 as being connected to one of the display devices 114, the save initiator 116 may be connected to any of the other components or may be a stand-alone component connected to network 106 or 118, thus allowing the initiation of a save request by someone other than a user of the display device 114. The save initiator 116 may be a touch pad, button, icon on a display screen, or any means or physical device to generate a save request signal.

Referring now to FIG. 9, in one embodiment, the on-demand recording system 94 may perform an on-demand recording method 900. At step 902, a connection is established with a television 114. Examples of the connection include a television program broadcast, a pay-per-view program, or any connection involving the transmission of information or data. In the present example, the connection is transmitted to the television 114 through the video signal device 96. At step 904, once the connection is established, the video signal device transmits the information to the television 114. At step 906, the television program will be dynamically duplicated into memory 98 as the program is communicated through the connection.

In one embodiment, the duplicated program is digitized at step 908 by the processor 100 (if the program is not already in digital form), and then the digitized program will be placed into packets by processor 102. It is understood that the digitization could occur prior to the duplication and packetization of the television program. At step 910, the packets are output over the network 106 to the server 104. At step 912, the server 104 will extract (e.g. de-packetize) the television program from the packets and store the data in the memory buffer 108. While packets are used in the preferred embodiment, other forms of data transfer are commonly used by those skilled in the art, including, for example, frames, raw data, or tokens.

At any time during the television program, up until the transmission is terminated, the user of the on-demand recording system 94 may request that the data be saved for later retrieval (a triggering event), such as at step 914. It should be noted, however, that the user of the on-demand system 94 does not necessarily have to be a user of the television 114. If a save request signal is initiated at step 914, execution proceeds to step 916, where the save initiator 116 will transmit a save request signal, which will be received by the receiver 112. At step 918, the connection is terminated, and at step 920, the memory buffer 108 on the server 104 is then copied onto a storage device 110. At step 922, the entire saved television program is available for playback, regardless of when the save request is initiated. In this manner, regardless of when the save request is initiated during the connection, the entire communication is available for playback.

If the television program transmission terminates without a save request signal, such as at step 924, execution proceeds to step 926, where the memory buffer 108 on the server is erased.

The present invention as described above thus provides an improved method for allowing the entire telephone conversation, television broadcast, and other streams of analog or digital data to be recorded when the triggering event to record the data is initiated during the transmission. It is also contemplated by the present invention that various components of the invention could be combined to reduce the number of components. For example, the playback device could be integrated with the server or a communication device, or the playback device, server, and communication device could be integrated into a single unit. Other embodiments include having the playback device be situated on a separate network from the server or communication device. In addition, the processors contemplated in this disclosure could be hardware, software, or any combination thereof. Further, the memory buffer and storage devices could be combined into a single device.

While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention, as set forth in the following claims. 

1. A method of on-demand recording of a telephone call conversation, comprising: transmitting voice data of a telephone call conversation between a plurality of communication devices; and recording the transmitted voice data in response to a triggering event occurring during the telephone call conversation, including recording a portion of the voice data that was transmitted between the plurality of communication devices prior to the occurrence of the triggering event.
 2. The method of claim 1, wherein: transmitting the voice data between the plurality of communication devices includes transmitting the voice data through an intermediary device; and recording the transmitted voice data includes recording the transmitted voice data in the intermediary device.
 3. The method of claim 2 further comprising establishing a connection via which the voice data is transmitted through the intermediary device and between the plurality of communication devices, wherein establishing the connection is at least partially performed by the intermediary device.
 4. The method of claim 2 wherein the intermediary device is a private branch exchange (PBX).
 5. The method of claim 1 wherein: the portion of the voice data that was transmitted between the plurality of communication devices prior to the occurrence of the triggering event is a first portion of the voice data that was transmitted between the plurality of communications devices; a second portion of the voice data was transmitted between the plurality of communication devices after the occurrence of the triggering event; and recording the transmitted voice data in response to the triggering event includes recording the first and second portions of the transmitted voice data in response to the occurrence of the triggering event.
 6. The method of claim 5 wherein the first and second portions of the transmitted voice data recorded in response to the occurrence of the triggering event collectively comprise the substantial entirety of the voice data transmitted between the plurality of communications devices during the telephone call conversation.
 7. The method of claim 1 wherein transmitting the voice data between the plurality of communication devices includes performing a first save of the voice data transmitted between the plurality of communications devices irrespective of the occurrence or absence of the triggering event during the telephone call conversation, and wherein recording the transmitted voice data in response to the triggering event occurring during the telephone call conversation includes performing a second save of the voice data transmitted between the plurality of communications after the conclusion of the telephone call conversation.
 8. The method of claim 7 wherein performing the first save includes saving substantially all of the voice data transmitted between the plurality of communications devices as the voice data is transmitted between the plurality of communications devices, and wherein performing the second save includes saving substantially all of the voice data transmitted between the plurality of communications after the conclusion of the telephone call conversation.
 9. The method of claim 7 wherein transmitting the voice data between the plurality of communications devices includes transmitting the voice data through an intermediary device, and wherein performing the first and second save each include saving the transmitted voice data in a memory of the intermediary device.
 10. The method of claim 9 wherein performing the first save includes saving the transmitted voice data in a first memory of the intermediary device, and wherein performing the second save includes saving the transmitted voice data in a second memory of the intermediary device.
 11. The method of claim 7 wherein transmitting the voice data between the plurality of communication devices includes performing the first save of the voice data transmitted between the plurality of communications devices, and further comprising discarding the first-saved voice data if the telephone call conversation concludes in the absence of the triggering event.
 12. An apparatus for on-demand recording of data communicated during each of a plurality of data communication sessions, comprising: a switch configured to switch the data communicated during the plurality of data communication sessions, collectively; a first memory configured to temporarily store a plurality of session data sets each corresponding to one of the plurality of data communication sessions, wherein each of the plurality of session data sets is temporarily stored at least until the conclusion of the corresponding one of the plurality of data communication sessions; a receiver configured to receive each of a plurality of save requests each corresponding to one of the plurality of data communication sessions, including receiving each of the plurality of save requests during the corresponding one of the plurality of data communication sessions from one of an originating communication device and a terminating communication device of the corresponding one of the plurality of data communication sessions; and a second memory configured to record ones of the plurality of session data sets each corresponding to one of the plurality of save requests received by the receiver.
 13. The apparatus of claim 12 wherein the apparatus is a private branch exchange (PBX).
 14. The apparatus of claim 12 wherein the originating and terminating communication devices are telephones.
 15. The apparatus of claim 12 wherein the switch is connected to a plurality of line cards each configured to send and receive data corresponding to multiple ones of the plurality of data communication sessions.
 16. The apparatus of claim 12 wherein the plurality of data communications sessions includes a plurality of telephone call conversations between the originating and terminating communication devices.
 17. The apparatus of claim 12 wherein the plurality of data communications sessions includes a plurality of VoIP communication sessions.
 18. The apparatus of claim 12 wherein at least one of the first and second memories are integrally housed with the switch and the receiver.
 19. The apparatus of claim 12 wherein at least one of the first and second memories is housed separate from the switch and the receiver but connected at least indirectly to at least one of the switch and the receiver via a network.
 20. The apparatus of claim 12 the second memory is configured to record at least two of the plurality of session data sets corresponding to simultaneously occurring ones of the plurality of data communication sessions. 